The present invention relates to motor control and control of motor driven systems. In particular, it relates to control of motor driven systems that minimize ringing or ‘bounce’ in the mechanical systems that are under motor control.
Motor driven translational systems are commonplace in modern electrical devices. They are used when it is necessary to move a mechanical system within a predetermined range of motion under electrical control. Common examples can include autofocus systems for digital cameras, video recorders and portable devices having such functionality (e.g., mobile phones, personal digital assistants and hand-held gaming systems). In such systems, a motor driver integrated circuit generates a multi-value drive signal to a motor which, in turn, drives a mechanical system (e.g. a lens assembly, in the case of an auto-focus system). The motor driver generates the drive signal in response to an externally supplied codeword. The code word often is a digital value that identifies a location within the mechanical system's range of motion to which the motor should move the mechanical system. Thus, the range of motion is divided into a predetermined number of addressable locations (called “points” herein) according to the number of code words allocated to the range of motion. The drive signal is an electrical signal that is applied directly to the motor to cause the mechanical system to move as required.
Although the types and configurations of the mechanical systems typically vary, many mechanical systems can be modeled as a mass coupled to a spring. When a motor moves the mass according to the drive signal, the motion generates other forces within the system which can cause the mass to oscillate around the new location at some resonant frequency (fR). For example, resonant frequencies of approximately 110 Hz have been observed in consumer electronic products. Such oscillation typically diminishes over time but it can impair performance of the device in its intended function by, for example, extending the amount of time that a camera lens system takes to focus an image.
FIG. 1 is a simplified block diagram of a motor-driven system commonly used in lens drivers. The system includes an imaging chip 110, a motor driver 120, a voice coil motor 130 and a lens 140. The motor driver generates a drive signal to the voice coil motor in response to a code provided by the imaging chip. In turn, the voice coil motor moves the lens within its range of motion. Movement of the lens changes the way the lens focuses incoming light on a surface of the imaging chip, which can be detected and used to generate new codes to the motor driver. FIG. 2 is a frequency plot of possible response of the system of FIG. 1, illustrating a resonant frequency at frequency fR.
FIG. 3 illustrates two drive signals generated by conventional motor drivers. A first drive signal is a step function, that changes from a first state to a second state as a discontinuous jump (FIG. 3(a)). The second illustrated drive signal is a ramp function that changes from the first state to the second state at a fixed rate of change (FIG. 3(b)). Both types of drive signals, however, cause the ringing behavior that impairs performance as noted above. FIG. 4, for example, illustrates ringing observed in one such mechanical system.
The inventors have observed that the ringing behavior of such motor-driven systems unnecessarily extends the settling times of such mechanical systems and degrades performance. Accordingly, there is a need in the art for such motor-driven systems that can be driven according to a digital codeword and avoids the oscillatory behavior noted in these systems.